package com.niit.cms.service.impl;

import com.niit.cms.entity.MyCourse;
import com.niit.cms.dao.MyCourseDao;
import com.niit.cms.service.MyCourseService;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;

import javax.annotation.Resource;
import java.util.List;

/**
 * (MyCourse)表服务实现类
 *
 * @author makejava
 * @since 2022-06-28 10:55:42
 */
@Service("myCourseService")
public class MyCourseServiceImpl implements MyCourseService {
    @Resource
    private MyCourseDao myCourseDao;

    /**
     * 通过uid,courseId查询单条数据
     *
     * @param uid 主键
     * @param courseId 主键
     * @return 实例对象
     */
    @Override
    public MyCourse queryByUidCourseId(Integer uid, Integer courseId) {
        return myCourseDao.queryByUidCourseId(uid, courseId);
    }

    /**
     * 新增数据
     *
     * @param myCourse 实例对象
     * @return 实例对象
     */
    @Override
    public MyCourse insert(MyCourse myCourse) {
        this.myCourseDao.insert(myCourse);
        return myCourse;
    }

    /**
     * 修改数据
     *
     * @param myCourse 实例对象
     * @return 实例对象
     */
    @Override
    public MyCourse update(MyCourse myCourse) {
        this.myCourseDao.update(myCourse);
        return this.queryByUidCourseId(myCourse.getUid(), myCourse.getCourseId());
    }
    /**
     * 通过主键删除数据
     *
     * @param uid 主键
     * @param courseId  主键
     * @return 影响行数
     */
    @Override
    public int deleteByUidCourseId(Integer uid, Integer courseId) {
        return myCourseDao.deleteByUidCourseId(uid, courseId);
    }
    /**
     * 按条件查询全部数据
     * @param myCourse
     * @return 实例对象
     */
    @Override
    public List<MyCourse> queryByMyCourse(MyCourse myCourse) {
        return myCourseDao.queryByMyCourse(myCourse);
    }
    /**
     * 按用户id查询全部数据
     * @param uid
     * @return 实例对象
     */
    @Override
    public List<MyCourse> queryListByUid(Integer uid) {
        return myCourseDao.queryListByUid(uid);
    }
    /**
     * 按用户id和状态查询全部数据
     * @param uid
     * @param state
     * @return 实例对象
     */
    @Override
    public List<MyCourse> queryListByUidState(Integer uid, Integer state) {
        return myCourseDao.queryListByUidState(uid, state);
    }


}
